package delphorm.web.aspect;

import java.lang.reflect.Method;

import javax.servlet.http.HttpServletRequest;

import org.springframework.aop.MethodBeforeAdvice;

import delphorm.entite.personne.Utilisateur;
import delphorm.web.exception.SecuriteException;

/**
 * Permet de vérifier que l'utilisateur est bien habilité à ajouter le
 * questionnaire à la session
 * 
 * @author jerome
 */
public class VerifierAjouterQuestionnaireSession implements MethodBeforeAdvice,
		Verif { 

	public void before(Method method, Object[] arguments, Object target)
			throws Throwable {
		Object[] args = new Object[1];
		args[0] = ((HttpServletRequest) arguments[0]).getSession()
				.getAttribute("utilisateur");

		if (!doVerif(args))
			throw new SecuriteException(
					"exception.ajouterquestionnairesession.pasledroit");
	}

	public boolean doVerif(Object[] objects) {
		Utilisateur utilisateur = (Utilisateur) objects[0];
		if (utilisateur.getDroitsGeneraux().getCreerQuestionnaires()
				.booleanValue() == true)
			return true;
		return false;
	}

}
